16.09.2009

Обмен данными с системами эквайринга

В настоящее время в торговле получают все большее распространение системы оплаты с помощью платежных карт. Для этого помимо модулей торговых конфигураций системы "1С:Предприятие 8" на кассах торгово-сбытовых предприятий дополнительно устанавливаются программно-технические комплексы работы с пластиковыми картами российских и международных платежных систем. При этом ввод информации по операциям с пластиковыми картами в информационную базу системы "1С:Предприятие 8" осуществляется вручную. Помимо дополнительной траты времени и неудобства в работе кассира это может привести к потере информации или ее искажению. Поэтому становится актуальной интеграция эквайринговых продуктов с торговыми конфигурациями системы "1С:Предприятие 8".

Для организации взаимодействия в системе "1С:Предприятие 8" поставляется специальная обработка обслуживания, а программное обеспечение системы эквайринга должно содержать специальную внешнюю компоненту.

Примерная схема организации приема платежей по платежным картам.

Общие требования

Внешняя компонента эквайринговых систем ("ВКЭС") должна соответствовать общей концепции разработки и применения внешних компонент для взаимодействия с торговым оборудованием ("Устройством"). Использование такого подхода позволяет упростить процесс подключения любых новых программно-технических комплексов к системе "1С:Предприятие 8".

Общая схема взаимодействия системы "1С:Предприятие 8" с торговым оборудованием.

"ВКЭС" должна удовлетворять следующим требованиям:

Описание работы с драйвером

Начало работы с внешней компонентой

При необходимости оплатить покупку платежной картой "Система" вызывает функцию "Оплатить платежной картой" у "ВКЭС", передавая ей во входном параметре сумму к оплате для списания с карты и номер считанной карты (номер карты не должен присутствовать в полном, явном виде согласно п. п. 3.2-3.4 стандарта PCI DSS 1.1). "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.

Отмена платежа по карте

Если происходит отмена платежа, то "Система" вызывает функцию "Отменить платеж по платежной карте" у "ВКЭС", передавая ей во входных параметрах сумму, которая была указана для списания с карты, номер считанной карты и код RRN операции, по которой совершается отмена оплаты картой. "ВКЭС" в ответ возвращает результат выполнения функции.

Возврат платежа по карте

При возврате платежа "Система" вызывает функцию "Вернуть платеж по платежной карте" у "ВКЭС", передавая ей во входном параметре сумму к возврату на карту и номер считанной карты. "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.

Завершение работы

Соединение с "ВКЭС" закрывается при завершении работы системы "1С:Предприятие 8".

Описание свойств

Если для работы компоненты необходима настройка каких-либо параметров, то их необходимо реализовать в виде свойств компоненты. Свойства определяются разработчиками компоненты на этапе проектирования. Заполняется таблица, приведенная ниже.

 
Название (alias) Тип Доступность Описание

Чтение

Запись

         
         
         

 Описание методов

Название (alias) Параметры Возвращаемое значение Описание
Имя Тип Описание
ПолучитьНомерВерсии (GetVersion)       BSTR Возвращает номер версии драйвера (например, "1.01" или "1.0.0.1")
ОплатитьПлатежнойКартой (PayByPaymentCard) НомерКарты (CardNumber)BSTR [IN/ OUT] Номер банковской карты (1234 5678 9012 3456) BOOL Функция оплаты платежной карты. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты
Сумма (Amount) LONG [IN] Сумма к оплате по карте
КодRRN (RRNCode) BSTR[OUT] Возвращается RRN транзакции
КодАвторизации
(AuthorizationCode)
BSTR [OUT] Возвращается код авторизации транзакции
ОтменитьПлатежаПоПлатежнойКарте (CancelPaymentByPaymentCard) НомерКарты (CardNumber) BSTR [IN/ OUT] Номер банковской карты BOOL Функция отмены платежа по карте. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты
Сумма
(Amount)
LONG [IN] Сумма к оплате по карте
КодRRN
(RRNCode)
BSTR

[IN]

Код транзакции оплаты, по которой происходит отмена
ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard) НомерКарты (CardNumber) BSTR

[IN/ OUT]

Номер банковской карты BOOL Функция возврата платежа. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты
Сумма(Amount) LONG [IN] Сумма к оплате по карте
КодRRN (RRNCode) BSTR [OUT] Возвращается RRN транзакции
КодАвторизации(AuthorizationCode) BSTR [OUT] Возвращается код авторизации транзакции
ИтогиДняПоКартам (Settlement)       BOOL Функция подведения итогов дня по операциям с банковскими картами
ПолучитьОшибку (GetLastError) – ОК
 
ОписаниеОшибки (ErrorDescription) BSTR [OUT] Описание ошибки LONG Возвращает код и описание последней произошедшей ошибки

Слип-чеки

При разработке системы необходимо подготовить макеты слип-чеков в соответствии с внутренними требованиями банка. В этом разделе необходимо разместить макеты чеков под разную ширину чековой ленты. Значения, которые должны подставляться в чек, должны быть реализованы в виде свойств компоненты (таблица Описание свойств). Метки значений для подстановки могут быть указаны в квадратных скобках - [], например (чек оплаты, ширина 36 сим.):

123456789012345678901234567890123456

Фирма "1С"

Отдел 73
 
[Дата      ]                           [    Время]
 
Банк
БЕЗНАЛИЧНЫЙ РАСЧЕТ
 
[НомерКарты        ]      [  СрокДействия]
 
ОПЛАТА ТОВАРА
 
СУММА:  [               Сумма]
НОМЕР ТЕРМИНАЛА: [            Терминал]
НОМЕР КВИТАНЦИИ: [           Квитанция]
КОД АВТОРИЗАЦИИ: [  КодАвторизации]
НОМЕР ССЫЛКИ: [      НомерСсылки]
НОМЕР ССЫЛКИ: [      НомерСсылки]
 
[           РезультатТранзакции              ]
 
____________________________________
(ПОДПИСЬ КЛИЕНТА)
 
123456789012345678901234567890123456

Для расчета ширины макета используется максимально возможное значение в строке.